#include <vector>
#include <map>
#include <string>

using namespace std;

#define _NAME_STR 	"name"
#define _ID_STR		"id"



enum attribute{
	KON, GES, REA, STR, WIL, LOG, INT, CHA, EDG, ESS, MAG, RES,
	PRICE, KARMA_COST
};

enum data_type{
	S_VAL = "s_val",	// value between 0 and 255, interpreted as an unsigned char
	VAL = "val",		// standart int value
	STRING = "str"		// string
};

struct data_entry{
	data_type type;
	string val;
};

struct data_object{
	string name;
	map<string, data_entry> data;
};

class Database{
private:
	vector<map<string, data_object>> objects;
	string conv_to_id(const char * type, const char * name);

public:
	void parse_from_file(const char * filename);
};

class Character{

};

class NPC : Character{

};

class Runner : Character{

};
